// pages/login/login/login.js

Page({

  /** 
   * 页面的初始数据
   */
  data: {
    phone: '17603841455',
    password: '123123',
    // phone: '',
    // password: '',
  },

  // 登录方式判断
  login_judge() {
    wx.showLoading({
      title: '准备登录...',
    })
    let str = this.data.phone
    if (/^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/.test(this.data.phone)) {
      console.log('邮箱登录')
      if (!this.passwordJudge()) return
      this.login_email_fun()
    } else if (/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(this.data.phone)) {
      console.log('手机号登录')
      if (!this.passwordJudge()) return
      this.login_phone_fun()
    } else {
      console.log('账号格式错误')
      if (!this.passwordJudge()) return
      wx.showToast({
        icon: 'none',
        title: '账号格式错误',
      })
    }
  },
  // 密码格式判断
  passwordJudge() {
    if (/^(?![a-zA-Z]+$)[0-9A-Za-z]{6,16}$/.test(this.data.password)) {
      return true
    } else {
      wx.showToast({
        icon: 'none',
        title: '密码格式错误',
      })
      return false
    }
  },
  // // 邮箱登录函数
  // login_email_fun() {
  //   wx.AV.User.loginWithEmail(this.data.phone, this.data.password).then((user) => {
  //     console.log(user,1)
  //     wx.showToast({
  //       title: '登录成功',
  //     })
  //   }, (error) => {
  //     this.error_judge(error)
  //   })
  // },
  // 微信登陆函数
  login_phone_fun() {
    wx.AV.User.logInWithMobilePhone(this.data.phone, this.data.password).then((user) => {
      // console.log(user)
      wx.request({
        url: `https://api.bingce.com/v1/wx/get_access_token`,
        success: (res) => {
          console.log(res);
          if (this.data.binding) {
            let thirdPartyData = {}
            thirdPartyData.uid = JSON.parse(wx.getStorageSync('userinfo')).openid
            thirdPartyData.access_token = res.data.data.access_token
            thirdPartyData.expires_in = res.data.data.expires_in
            // console.log(thirdPartyData);
            // 绑定微信
            user.associateWithAuthData(thirdPartyData, 'wx_mini_surveyor').then(function (wxres) {
              // 成功绑定
              console.log(wxres);
              // wx.setStorageSync('userAll', wxres)
              wx.switchTab({
                url: '../../me/me',
              })
            }).catch(function (error) {
              console.error("error: ", error);
            });
          }
        }
      })
      wx.showToast({
        title: '登录成功',
      })
    }, (error) => {
      console.log(error)
      this.error_judge(error)
    })
  },
  // 错误判断函数
  error_judge(error) {
    let message
    error.message.split('。').length > 1 ? message = error.message.split('。')[0] : message = error.message.split('.')[0]
    switch (message) {
      case 'Could not find user':
        console.log('找不到用户')
        wx.showToast({
          icon: 'none',
          title: '找不到用户',
        })
        break
      default:
        wx.showToast({
          icon: 'none',
          title: '请稍后重试',
        })
    }
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.setData({
      binding: options.binding
    })
    this.data.phone = wx.getStorageSync('userPhone') ? wx.getStorageSync('userPhone') : '17603841455'
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})